// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:53:53

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   io.java

package com.zelix;

import javax.swing.JComponent;
import javax.swing.JTextArea;
import javax.swing.text.JTextComponent;

// Referenced classes of package com.zelix:
//            tb, mt, kt, lu, 
//            ou, to, hs, sx, 
//            ey, yu, jz, kz, 
//            q4, gs

class io
    implements ey, jz
{

    static final String a = System.getProperty(z(z("E\b\b\024\005Z\004\026\020YH\025\t\003")));
    static final String b = a + a + z(z("f\017\n\b\013]\t\003QM@\023\025\005\013")) + 0x7d000 + z(z("\t\003\037\005NZA\025\031D^\017"));
    yu c;
    JTextArea d;
    q4 e;

    io(yu yu1, JTextArea jtextarea, q4 q4)
    {
        c = yu1;
        d = jtextarea;
        e = q4;
        d.setEditable(false);
        yu1.a(this);
    }

    public void a(gs gs, Object obj, Object obj1, Object obj2)
    {
        new kz(this, gs, obj, obj1, obj2);
    }

    public void b(gs gs, Object obj, Object obj1, Object obj2)
    {
label0:
        {
            boolean flag = tb.b;
            kt kt1 = (kt)((yu)gs).h();
            if(kt1 != null)
            {
                if(obj != null && (obj instanceof sx) && ((sx)obj).b() == 3 && (kt1 instanceof mt))
                    return;
                try
                {
                    String s = kt1.g();
                    if(s.length() > 0x7d000)
                        s = s.substring(0, 0x7d000) + b;
                    s = s.replace('\0', '?');
                    d.setText(s);
                    d.setCaretPosition(0);
                    if(kt1 instanceof mt)
                    {
                        d.setToolTipText(to.b(to.ub));
                        if(!flag)
                            break label0;
                    }
                    if(kt1 instanceof lu)
                    {
                        d.setToolTipText(to.b(to.vb));
                        if(!flag)
                            break label0;
                    }
                    if(kt1 instanceof ou)
                    {
                        d.setToolTipText(to.b(to.wb));
                        if(!flag)
                            break label0;
                    }
                    d.setToolTipText("");
                    break label0;
                }
                catch(tb tb1) { }
                if(!flag)
                    break label0;
            }
            d.setText("");
        }
    }

    private static char[] z(String str) {
        char ac[] = str.toCharArray();
        int clen = ac.length;
        if (clen >= 2)
            return ac;
        ac[0] ^= 0x2b;
        return ac;
    }

    private static String z(char[] chs) {
        for (int i = 0; i < chs.length; i++) {
            byte key = 0;
            switch (i % 5) {
                case 0:
                    key = 0x29;
                    break;
                case 1:
                    key = 97;
                    break;
                case 2:
                    key = 102;
                    break;
                case 3:
                    key = 113;
                    break;
                default:
                    key = 43;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }
}